#pragma once
template<typename T1> class Point
{
	public:
		Point(): m_x(0), m_y(0), m_z(0) {};
		Point(T1 i_x, T1 i_y, T1 i_z): m_x(i_x), m_y(i_y), m_z(i_z){};
		Point& operator = (const Point& i_p);
		T1 m_x;
		T1 m_y;
		T1 m_z;
};






template<typename T1> Point<T1>& Point<T1>:: operator =(const Point<T1>& i_p)
{
	if(this==&i_p)
		return *this;
	m_x=i_p.m_x;
	m_y=i_p.m_y;
	m_z=i_p.m_z;
	return *this;
};